Ext.define('aps.UsuarioPorProyectoPanel', {
    extend: 'Ext.Panel',
    alias : 'aps.UsuarioPorProyectoPanel',
    
    title :     'Usuarios',
    id:         'panel_usuario_x_proyecto',
    name:       'panel_usuario_x_proyecto',
    layout:     'fit',
    frame:      true,
    closable:   false,
    border:     false,
    autoScroll: true,
    
    initComponent: function() {
        var grid = Ext.create('Ext.grid.Panel',{
            autoScroll: true,
            border:     false,
            forceFit:   true,
            layout:     'fit',
            store:      Ext.create('aps.usuarioConsultaStore',{
                storeId: 'store-lista-usuario-x-proyecto',
                autoLoad: false,
                proxy: {
                    type: 'ajax',
                    url:  '/consulta_usuario_x_proyecto',
                    reader: {
                        type: 'json',
                        root: 'data',
                        totalProperty: 'total'
                    }
                }
            }),
            columns: [
            { header: 'Id', flex: 0, dataIndex: 'id'},
            { header: 'Cedula', flex: 0, dataIndex: 'ci' },
            { header: 'Nombre de Usuario', flex: 0, dataIndex: 'nick'},
            { header: 'Nombres', flex: 0, dataIndex: 'nombres' },
            { header: 'Apellidos', flex: 0, dataIndex: 'apellidos' },
            { header: 'Direccion', flex: 0, dataIndex: 'direccion' },
            { header: 'Email', flex: 0, dataIndex: 'email' }        ]
        });
        
        this.items = [{
            xtype: 'hiddenfield',
            name:  'id_proyecto'
        },
        grid
        ];
    	
        this.buttons =[{
            text:    'Listar Roles',
            id:      'listar_roles_usuario_btn',
            iconCls: 'update-icon',
            hidden:  false,
            grid:    grid,
            handler: this.form_listar_roles_usuario_handler
        }];  
        this.callParent(arguments);
    },
    form_listar_roles_usuario_handler : function() {
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un registro');
        }
        else{
            var id_usuario = records[0].data.id;
            var panel   = Ext.create('aps.RolPorUsuarioPanel');
            panel.items.getAt(0).setValue(id_usuario);
            panel.llenar_grid();
            
            var win = Ext.create('Ext.Window',{
                modal :     true,
                autoScroll: true,
                height:     '80%',
                width:      '80%',
                frame:      false,
                border:     false,
                items:      [panel]
            });
            win.show();
        }
   },
    llenar_grid: function() {
        var id_proyecto = this.items.getAt(0).getValue();
        var store = Ext.data.StoreManager.lookup('store-lista-usuario-x-proyecto');
        store.load({
            params: {
                idproyecto : id_proyecto
            }
        });
    }
});
